const days = [
    '星期日',
    '星期一',
    '星期二',
    '星期三',
    '星期四',
    '星期五',
    '星期六'
]

Date.prototype.getDayOfWeek = function() {
    return {
        value: this.getDay(),
        text: days[this.getDay()]
    }
}

Date.prototype.getSeason = function() {
    const month = this.getMonth() + 1
    if (month <= 3) {
        return 1
    }

    if (month <= 6) {
        return 2
    }

    if (month <= 9) {
        return 3
    }

    return 4
}

Date.prototype.addDays = function(years) {
    let dat = new Date(this.valueOf())
    dat.setYear(dat.getYear() + years)
    return dat
}

Date.prototype.addDays = function(days) {
    let dat = new Date(this.valueOf())
    dat.setDate(dat.getDate() + days)
    return dat
}

Date.prototype.addHours = function(h) {
    this.setHours(this.getHours() + h)
    return this
}

Date.prototype.format = function(fmt) {
    let o = {
        'M+': this.getMonth() + 1, //月份
        'd+': this.getDate(), //日
        'h+': this.getHours(), //小时
        'm+': this.getMinutes(), //分
        's+': this.getSeconds(), //秒
        'q+': Math.floor((this.getMonth() + 3) / 3), //季度
        S: this.getMilliseconds() //毫秒
    }
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(
            RegExp.$1,
            (this.getFullYear() + '').substr(4 - RegExp.$1.length)
        )
    for (let k in o)
        if (new RegExp('(' + k + ')').test(fmt))
            fmt = fmt.replace(
                RegExp.$1,
                RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
            )
    return fmt
}